<%--
    Document   : administrador
    Created on : 24-nov-2010, 13:29:09
    Author     : usuario_local
--%>

<%@page import="java.util.List"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="java.util.Properties"%>
<%@page import="persistencia.*"%>
<%@page import="java.util.ArrayList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>El Tabique</title>
    </head>
    <BODY background="http://www.fondos10.net/wp-content/uploads/2008/01/espacio-azul.jpg" bgcolor="FFCECB" >
        <center>
            <font color="yellow">
                <h1><b>El tabique: Administración</b></h1>
           
            <BR>
            Gestión de Usuarios
            </font>
            <BR>
             <BR>
            <%
             Properties props = new Properties();
             InitialContext ctx = new InitialContext(props);
             persistencia.UsuarioFacadeRemote usuarioFacade = (persistencia.UsuarioFacadeRemote) ctx.lookup("persistencia.UsuarioFacadeRemote");
             List<Usuario> listaUsuarios = usuarioFacade.findAll();

             //si voy a crear un usuario

                        if ((request.getParameter("nuevoUsuario") != null) && (!request.getParameter("nuevoUsuario").toString().equals("")) && request.getParameter("boton").toString().equals("Crear"))
                            //si no existe usuario, lo añado
                            if (usuarioFacade.find(request.getParameter("nuevoUsuario")).equals(null)) {
                                Usuario u = new Usuario(request.getParameter("nuevoUsuario"));
                                usuarioFacade.create(u);
            %>
            <font color="green">
                <% out.println("Usuario creado");%>
               
            </font>
            <%
           //si existe, muestro error
                         } else {
            %>
            <font color="red">
                <% out.println("ERROR: usuario ya existe");
                                }%>
                                <BR>
            </font>
            <%

                 //si voy a borrar un usuario
                        if (request.getParameter("borrarUsuario") != null && (!request.getParameter("borrarUsuario").toString().equals("")) && request.getParameter("boton").toString().equals("Borrar"))
                            //si existe usuario, lo borro
                            if ((usuarioFacade.find(request.getParameter("borrarUsuario"))!=null)) {
                                Usuario u = usuarioFacade.find(request.getParameter("borrarUsuario"));
                                usuarioFacade.remove(u);
            %>
            <font color="green">
                <%
                                 out.println("Usuario borrado");
                                 
                %>
            <BR>
            </font>
            <%
                         } else {
                             //si no existe, muestro error

            %>
            <font color="red">
                <%
                                out.println("ERROR: usuario no existe");
                            }
                %>
            <BR>
            <BR>
            </font>

            <%

            //Si voy a cambiar un rol

                        if (request.getParameter("tipo") != null) {
                            if (request.getParameter("tipo").equals("Invitado")) {
                                Usuario u1 = new Usuario(request.getParameter("usuario"),Rol.INVITADO);
                                usuarioFacade.edit(u1);
                            } else if (request.getParameter("tipo").equals("Autorizado")) {
                                Usuario u2 = new Usuario(request.getParameter("usuario"),Rol.AUTORIZADO);
                                usuarioFacade.edit(u2);
                            } else if (request.getParameter("tipo").equals("Administrador")) {
                                Usuario u3 = new Usuario(request.getParameter("usuario"),Rol.ADMINISTRADOR);
                                usuarioFacade.edit(u3);
                            }

                        }
            %>
            <font color="yellow">
            <FORM ACTION="administrador.jsp" METHOD="post">
                Nuevo usuario:
                <INPUT type=text name="nuevoUsuario">
                <INPUT TYPE="submit" name ="boton" VALUE="Crear">
                <BR>
                <BR>
                Borrar usuario:
                <INPUT type=text name="borrarUsuario">
                <INPUT TYPE="submit" name="boton" VALUE="Borrar">
            </FORM>
            <BR>
            
            <BR>
            Usuarios registrados:
            <BR>
            <BR>
            <%
                    listaUsuarios=usuarioFacade.findAll();
                        for (int i = listaUsuarios.size() - 1; i >= 0; i--) {
                            Usuario u = listaUsuarios.get(i);
                            String rol = listaUsuarios.get(i).getRol().toString();
                            out.println(u.getNombre() + ". " + " Es " + rol + ". Convertir en:");

            %>
            
            <FORM ACTION="administrador.jsp?usuario=<%=listaUsuarios.get(i).getNombre()%>" METHOD="post">
                <INPUT TYPE="submit" VALUE="Invitado" name="tipo">
                <INPUT TYPE="submit" VALUE="Autorizado" name="tipo">
                <INPUT TYPE="submit" VALUE="Administrador" name="tipo">
            </FORM>
            <BR>
            <%
                        }
            %>
            </font>
            <FORM ACTION="index.jsp" METHOD="post">
                <INPUT TYPE="submit" name="boton" VALUE="Salir">
            </FORM>
        </center>
    </body>
</html>
